'''
文件操作题目
1. 基础读写练习
编写一个程序，完成以下功能：
创建一个名为"test.txt"的文件
向文件中写入三行文本："第一行"、"第二行"、"第三行"
关闭文件后重新打开
读取并打印文件内容

'''
# with open('test.txt','w',encoding='utf-8')as f:
#     f.write('第一行\n第二行\n第三行')
#
# f.close()

# with open('test.txt','r',encoding='utf-8') as f:
#     print(f.read())
#
# f.close()

'''
2. 文件内容统计
编写一个程序，统计给定文本文件中：
总字符数
总行数
每个字母出现的频率（不区分大小写）
'''
# with open('test.txt','r',encoding='utf-8') as f:
#     sum_zf =0
#     sum_hs =1
#     sum_zm ={}
#     while True:
#         str = f.read(1)
#         if str is not None:
#             sum_zf+=1
#         if str =='\n':
#             sum_hs+=1
#         if str >='a' and str <='z' or str >='A' and str <='Z':
#             s = str.lower()
#             if s not in sum_zm.keys():
#                 sum_zm[s]=1
#             elif s in sum_zm.keys():
#                 sum_zm[s] = sum_zm.get(s)+1
#         if not str:
#             break
#
#
# print("总字符数:{},总行数:{},每个字母出现的频率:{}".format(sum_zf,sum_hs,sum_zm))
#
# f.close()


'''
3. 大文件处理
编写一个程序，处理大文件（假设文件很大）：
每次只读取1024字节
将文件中所有"error"替换为"warning"
将修改后的内容写入新文件
'''
with open('test.txt','r',encoding='utf-8') as f1 ,open('test[副本].txt','w',encoding='utf-8') as f2:
    while True:
        read = f1.read(1024)
        if not read:
            break
        rep = read.replace('error','warning')
        f2.write(rep)


f1.close()
f2.close()
'''
4. 文件指针操作
编写一个程序：
创建一个包含数字1-10每个数字占一行的文件
使用seek()移动文件指针
读取并打印第5行内容（不使用readlines）
'''

'''
5. 二进制文件操作
编写一个程序：
创建一个二进制文件，写入0-255的字节值
然后读取该文件，验证写入的内容是否正确
OS模块题目
'''